/**
 * @param {Object} key
 * @param {Object} data
 * @param {Object} success
 * @param {Object} fail
 * 将数据存储在本地缓存中指定的 key 中，会覆盖掉原来该 key 对应的内容，这是一个异步接口
 */
function setStorage(key, data, success,
	fail) {
	uni.setStorage({
		key,
		data,
		success,
		fail
	})
}
/**
 * @param {Object} key
 * @param {Object} success
 * @param {Object} fail
 * 从本地缓存中异步获取指定 key 对应的内容
 */
function getStorage(key, success, fail) {
	uni.getStorage({
		key,
		success,
		fail
	})
}

/**
 * @param {Object} key
 * @param {Object} data
 * 将 data 存储在本地缓存中指定的 key 中，会覆盖掉原来该 key 对应的内容，这是一个同步接口
 */
function setStorageSync(key, data) {
	try {
		uni.setStorageSync(key, data)
		return true
	} catch (e) {
		return false
	}


}


/**
 * @param {Object} key
 * @param {Object} success
 * @param {Object} fail
 * 从本地缓存中异步移除指定 key
 */
function removeStorage(key, success, fail) {
	uni.removeStorage({
		key,
		success,
		fail
	})

}


/**
 * @param {Object} key
 * 从本地缓存中同步移除指定 key。
 */
function removeStorageSync(key) {
	try {
		uni.removeStorageSync(key)
		return true
	} catch (e) {
		return false
	}

}



/**
 * 清理本地数据缓存(非同步)
 */
function clearStorage() {
	uni.clearStorage()
}

/**
 * 同步清理本地数据缓存
 */
function clearStorageSync() {
	uni.clearStorageSync()
}


export {
	setStorage,
	getStorage,
	setStorageSync,
	removeStorage,
	removeStorageSync,
	clearStorage,
	clearStorageSync
}